Humans detect and process information arriving through a number of different channels. After light signals (vision), sound and hearing may contribute most heavily to one's perception of one's environment. The human auditory system is remarkably discriminating, and though it often fares poorly in comparisons with lower animals, people can detect subtle cues in an audio signal and use them to make inferences about their surroundings, even when those surroundings cannot be seen. The detection and inference occur largely subconsciously, so a carefully-prepared audio program can provide an extremely compelling and visceral experience for a listener.
Virtual reality and game applications can be greatly enhanced by an accurate audio rendering of a simulated environment. Unfortunately, producing a high-resolution, multi-channel audio stream that models the interaction of sounds from various sources with surfaces, spaces and objects in the simulated environment can be as computationally expensive as producing a sequence of high-resolution visual images of the same environment. Techniques for producing convincing audio effects with fewer calculations may be of value in this area.
FIG. 2 shows a canonical feedback-delay network (“FDN”) that can be used to add synthetic reverberation effects to an input signal 110. When signal 110 enters the network, a scaler (amplifier or attenuator) 170 passes a “dry” version of the signal through to the output mixer 260. Several additional scaled versions of input signal 110 are produced by input scalers 220, and these signals enter a plurality of delay lines 230, 233, 236. Each delay line delays the signal entering it by a predetermined period. The signals leaving the delay lines may be further amplified or attenuated by output scalers 250, and the signals are mixed with the dry signal from scaler 170 to produce a single-channel output signal 270. The outputs of the delay lines are also fed back through feedback matrix 240 and mixed with the scaled delay line inputs.
The individual delay lines produce discrete echoes of the input signal, each echo delayed by the length of the corresponding delay line. The feedback matrix mixes the variously-delayed output signals; matrix coefficients and scaling values are chosen so that the output signal 260 includes exponentially-decaying colored noise to simulate secondary, tertiary and subsequent echoes from objects in the environment that do not produce a specific, identifiable primary echo.
FIG. 3 shows a sample time-intensity plot of the impulse response of a FDN. At t=0, an impulse or “slap” is sent into the network; peak 310 is the dry signal response. Then, during time period 320, peaks 322, 325 and 328 correspond to discrete echoes of the slap from the delay lines. Finally, during period 330, feedback through the feedback matrix creates an exponentially-decaying “tail” simulated reverberation 335.
The feedback-delay network shown in FIG. 2 can produce an adequate synthetic reverberation effect, but it only produces a single channel, and is fairly computationally expensive. Furthermore, if multiple output channels are desired (for example, to drive stereo or modern multi-channel sound systems), multiple single-channel FDNs may be operated, or a modified FDN like that shown in FIG. 4 may be used. The computational expense is increased by passing the scaled, delayed outputs through an output matrix 460. Also, if the number of output channels is different from the number of delay lines, the output matrix is not square, so efficient matrix multiplication algorithms cannot be used.
An alternate arrangement that can produce multi-channel synthetic reverberation effects with fewer calculations may be of value.